Apparatus and Method for Providing Enhanced Telecommunications Services

ABSTRACT

An apparatus and method is disclosed for providing transparent enhanced telecommunications services to subscribers by implementing an enhanced services platform on a local network exchange within the public telephone network. More specifically, the apparatus and method of the present invention is capable of providing a plurality of enhanced telecommunications services to a subscriber by using a voice-activated interface to enable the subscriber to access at least one of the plurality of enhanced telecommunications services. In addition, the apparatus and method of the present invention may use a web-activated interface to enable the subscriber to access at least one of the plurality of enhanced telecommunications services.

CROSS REFERENCE TO RELATED PROVISIONAL APPLICATION

This patent application is a divisional of, claims the benefit ofpriority from, and incorporates by reference, the entire disclosure ofco-pending U.S. patent application Ser. No. 09/792,207 filed on Feb. 23,2001.

BACKGROUND OF THE INVENTION

1. Technical Field of Invention

The present invention relates generally to telecommunications systems,and in particular, to a method and apparatus for providing enhancedtelecommunications services to a subscriber.

2. Description of Related Art.

Historically, the public telephone network (PTN) has included large,monopolistic entities that control connectivity and transport at thelocal exchange (LE) level (local loop). The resulting technologiescreated by these entities, sometime decades old, has left an expensive,proprietary, non-integrating network that is incapable of handling therapidly changing marketplace.

The deregulation of the local phone monopolies in 1996 has begun tospawn an emerging competitive market that requires new technologicaladvancements in order to leverage new enhanced services, while stillproviding cost effectiveness. There are two different business modelsevident amongst the new local telephone carriers—low cost producer ordifferentiator. These business models are creating market drivers forless costly, more scalable programmable switching platforms that arealso built to allow seamless integration of peripheral components forprofitable, differentiating services.

Such enhanced services include single number access services, unifiedmessaging, recording, specialized call routing and specialized callterminating treatment. All of these enhanced services have been createdwith today's telephone in mind, which uses a simplistic touch-tone dialpad user-interface. Trying to implement these enhanced services with thetouch-tone dial pad has led to more complicated service codes, accesscodes and scheduling requirements, which has further led to a lack ofinterest in these services by many subscribers. In addition, thearchitecture of today's enhanced service platforms does not allow forseamless integration with the proprietary PTN, causing many new localtelephone carriers to avoid offering these enhanced services tosubscribers.

For example, referring to FIG. 1, there is illustrated a traditionalenhanced service platform 100 capable of providing enhancedtelecommunications services to subscribers 150. The service platform 100is operated by a service provider and connected to the public telephonenetwork (PTN) 102, such as the Public Switched Telephone Network (PSTN)or Public Land Mobile Network (PLMN). The traditional service platform100 is shown positioned outside of the PTN 102 due to the lack offlexibility in services traditionally provided by the PTN 102, asdescribed above.

By positioning the traditional service platform 100 outside the PTN 102,the subscriber 150 is forced to call through the PTN 102 to reach theservice platform 100 and then call back through the PTN 102 in order toconnect with a called party. For example, traditionally, in order to useone of the enhanced telecommunications services provided by the serviceplatform 100, a subscriber 150 must dial a service code to connect tothe service platform 100 through the PTN 102 in order to retrieve thedesired service, and then dial a called party number to connect with acalled party again through the PTN 102 using the desired service.

This type of call procedure and call routing does not allow a serviceprovider to provide transparent enhanced telecommunications services toa subscriber 150. Transparent communication services enable thesubscriber 150, for example, to simply pick up a phone and call a personwithout forcing the subscriber 150 to perform an intermediate step (e.g.first calling the service platform 100 before calling the person).Moreover, since the subscriber 150 generally uses the touch-tone dialpad on their phone to dial the specific service code (e.g. *xx)associated with the service that the subscriber 150 wants to use,requiring the subscriber 150 to use such a touch-tone dial pad presentsproblems for the subscriber 150 who wants to utilize a hands free unitor otherwise be hands-free. Likewise, the use of a touch-tone dial padlimits the ability of the subscriber 150 to be hands-free when receivingincoming calls during a call.

It is, therefore, an object of the present invention to providetransparent enhanced telecommunications services to subscribers.

It is a further object of the present invention to implement an enhancedservice platform within the public telephone network.

It is still a further object of the present invention to provide a newtelephone interface within the enhanced service platform that isvoice-activated.

It is still a further object of the present invention to provide aweb-activated interface within the enhanced service platform.

SUMMARY OF THE INVENTION

The present invention is directed to an apparatus and method forproviding a plurality of transparent enhanced telecommunicationsservices to subscribers by implementing an enhanced services platform ona local network exchange within the public telephone network. Morespecifically, the apparatus and method of the present invention iscapable of providing a plurality of enhanced telecommunications servicesto a subscriber by using a voice-activated interface to enable thesubscriber to access at least one of the plurality of enhancedtelecommunications services. In addition, the apparatus and method ofthe present invention may use a web-activated interface to enable thesubscriber to access at least one of the plurality of enhancedtelecommunications services.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the method and apparatus of the presentinvention may be had by reference to the following detailed descriptionwhen taken in conjunction with the accompanying drawings wherein:

FIG. 1, prior art, is a block diagram illustrating a traditionalservices platform located outside of a public telephone network;

FIG. 2 is a block diagram illustrating an exemplary enhanced servicesplatform located within an enhanced local network exchange within thepublic telephone network in accordance with the present invention;

FIGS. 3A and 3B are simplified flow charts illustrating the steps forrouting calls to and from a subscriber connected to the enhanced localexchange of FIG. 2;

FIG. 4 illustrates in greater detail the components of the exemplaryenhanced services platform within the enhanced local exchange of FIG. 2;

FIG. 5 illustrates in greater detail the various types of networks andsubscriber equipment capable of connecting to the enhanced localexchange of FIG. 2;

FIG. 6 illustrates in greater detail an exemplary architecture of asoftswitch within the enhanced services platform of FIG. 4;

FIG. 7A illustrates in greater detail an exemplary architecture of anapplications server within the enhanced services platform of FIG. 4;

FIG. 7B illustrates in greater detail an exemplary architecture of aservice applications platform within the applications server of FIG. 7A;

FIG. 7C illustrates in greater detail an exemplary architecture of atelephony applications platform within the applications server of FIG.7A;

FIG. 8A is a simplified flow chart illustrating the steps for using thevoice-activated interface of FIG. 4 to access one or more enhancedservices;

FIG. 8B is a simplified flow chart illustrating the steps performed bythe enhanced service platform of FIG. 4 when an incoming call to asubscriber registered with the enhanced local exchange is received; and

FIG. 9 is a block diagram illustrating the implementation of multipleenhanced local exchanges to create an enhanced telecommunicationssystem.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EXEMPLARY EMBODIMENTS

The numerous innovative teachings of the present application will bedescribed with particular reference to the presently preferred exemplaryembodiments. However, it should be understood that this class ofembodiments provides only a few examples of the many advantageous usesof the innovative teachings herein. In general, statements made in thespecification of the present application do not necessarily delimit anyof the various claimed inventions. Moreover, some statements may applyto some inventive features but not to others.

Referring to FIG. 2 of the drawings, there is a block diagramillustrating an exemplary enhanced services platform 100 located withina traditional public telephone network (PTN) 102. The PTN can be, forexample, a Public Switched Telephone Network (PSTN) or a Public LandMobile Network (PLMN). The enhanced services platform 100 is implementedon an enhanced local exchange 130 (e.g. a central office switch withinthe PSTN or mobile switching center/ home location register within thePLMN).

The enhanced local exchange (ELE) 130 is a highly reliable switch thatintegrates a variety of revenue generating enhanced services, such aspre-and post-paid calling services, voice-activated subscriber services,and various forms of messaging via the enhanced services platform 100.The ELE 130 preferably supports T1/E1, as well as ANSI and ITU PrimaryRate ISDN, and SS7 in a compact footprint. In addition to supporting allstandard network interfaces, the ELE 130 may also operate as a RemoteAccess or Voice Over IP gateway.

Flexible routing tables are preferably included within the ELE 130 toprovide multiple options, such as Least-Cost Routing, Time-of-Day, andTrunk Group Overflow, with a Graphical User Interface (GUI) to implementchanges quickly and easily. The ELE 130 is easily maintained withimportant operations, administration and maintenance features, such asremote maintenance and administration, and real-time alarming andmonitoring.

Since the ELE 130 is designed for in-service system growth, the ELE 130can seamlessly grow as business demand increases. Cost-effective in awide variety of configurations and capacities, an ELE 130 can begin aslow as 192 DSO ports and grow to more than 30,000 non-blocking ports.Standard single-bay designs preferably support up to 3840 ports andstandard dual-bay systems up to 11,520 ports.

The enhanced services platform 100 utilizes a voice activated andpossibly a web-activated user-interface to allow access to enhancedtelecommunications services. To access the voice-activated interfacewithin the enhanced services platform 100, the subscriber 150 a needonly dial his/her own phone number. Once connected to the platform 100,a “virtual administrator” associated with the voice-activated interfacewithin the enhanced services platform 100 takes over to assist thesubscriber 150 a in requesting/performing all desired services via thevoice-activated interface. For example, the “virtual administrator” canprompt the subscriber 150 a for a voice command, and the subscriber 150a can reply by saying, “Call Mike.” The ‘virtual administrator” connectsthe subscriber 150 a to the called subscriber 150 b (Mike) without thesubscriber 150 a ever dialing Mike's number.

To determine the routing information for the called subscriber 150 b,the virtual administrator” accesses a database within the enhancedservices platform 100, which stores called party numbers and associatednames (or other type of spoken identity data). The subscriber 150 a canupdate the database through the voice-activated interface or via theweb-activated interface.

With this type of natural interface, applications can become morecomplex without becoming more difficult to use. For example, utilizingvoice commands instead of service codes and phone numbers saves thesubscriber 150 a considerable time associated with variouscommunications tasks. Phone tag can be virtually eliminated andconference calls can be made on demand. Furthermore, call announcementsand customized routing make calls from any telephone more productive.

The platform 100 offers three types of service: (1) basic local service;(2) virtual office phone (basic); and (3) virtual office services(advanced). The basic local service corresponds to today's traditionallocal exchange offering of basic dial tone, access to long distance, andpossibly a few basic Class 5 features. The virtual office phone (basic)service includes the voice-activated and web-activated interfaces, andthe following features: (1) Call Waiting; (2) Call Transfer; (3) CallForwarding; (4) Call Swapping; (5) Call Disconnect; (6) SequentialCalling; (7) Voice Dialing By Number; and (8) Redial. The virtual officeservice (advanced) builds on the basic local service and virtual officephone (basic) with the following advanced service features: (1) CallerI.D.; (2) Caller I.D. History; (3) Conferencing Features (On Demand,Meet Me); and (4) Contact List/Dialing by Name.

In addition to the above listed features, the platform 100 also offersmore advanced services, such as a unified messaging service, a singlenumber access service and a recording service, each of which will bedescribed in more detail below. Briefly, the unified messaging serviceprovides voice mail, e-mail, fax and message delivery features. Theunified messaging voice mail feature provides general store and forward,reply, callback, phone or Internet (multimedia) retrieval and networkingservices. The e-mail feature provides forwarding, reply, Internetretrieval and phone retrieval (text-to-speech) services. The fax featureprovides Internet retrieval, phone retrieval (text-to-speech), voiceattachment and store and forward services. Finally, the message deliveryfeature provides Short Message Service (SMS), pager, voice and messageforwarding services.

The single number access service assigns a single dialable number to asubscriber, which is used to route incoming calls to the subscriber.Incoming calls can terminate at any communications device (wirelinephone, wireless phone, pager, fax machine, e-mail address, voice mailbox, etc.). The single number access service also includes the followingfeatures: call forwarding, route lists and schedules, VIP exceptions,extended absence, sequential or broadcast search, call screening andpaging.

The recording service allows a subscriber to record a conversation. Thefollowing features, at a minimum, make up the recording service:recording on demand, record all calls, playback options, phone/Internet,start/stop, pause, delete, fast-forward and rewind.

With reference now to FIG. 3A of the drawings, which will be describedin connection with FIG. 2 of the drawings, when a subscriber 150 aregisters with the ELE 130 (step 300), the subscriber's service iseffectively transferred from a traditional local exchange 110 to the ELE130, such that when the subscriber 150 a picks up the telephone (step305), the traditional local exchange 110 recognizes that the “port” thetelephone is on is one associated with the ELE 130 (step 310).Typically, the traditional local exchange performs a database lookup,possibly via an SS7 link, to determine that the subscriber 150 a hasbeen transferred to the ELE 130.

This “trigger point” causes the traditional local exchange 110 toimmediately route the connection to the ELE 130 either directly orthrough additional switch connection points via a Service Transfer Point(STP) 120 of the SS7 network (step 315). Thereafter, the ELE 130captures routing information from the STP 120 to determine thesubscriber 150 a and retrieve subscriber data associated with thesubscriber 150 a (step 320). The ELE 130 then provides the equivalent oflocal “dial-tone” to the subscriber 150 a, who can then place a call toa called subscriber 150 b. If the subscriber 150 a has subscribed to atleast the virtual office phone (basic) service, the subscriber 150 a canconnect to the enhanced services platform 100 within the ELE 130 (step325) to utilize the voice-activated interface throughout the call (step330). Since the platform 100 is within the ELE 130, the platform 100acts as if it is another adjunct point within the local PTN 102.

With reference now to FIG. 3B of the drawings, which will be describedin connection with FIG. 2 of the drawings, the subscriber whose servicesare registered with the ELE 130 for purposes of FIG. 3B is subscriber150 b. Therefore, when a calling subscriber (here subscriber 150 a)calls the subscriber number associated with the called subscriber 150 b(step 340), the call is typically routed to the traditional localexchange 110 that used to service the called subscriber 150 b (step345). Once the traditional local exchange 110 realizes that the calledsubscriber's services have been transferred to the ELE 130 (step 350),the traditional local exchange 110 routes the call to the ELE 130 (step355), which connects the call to the called subscriber 150 b using theenhanced services platform 100 (step 360).

With reference now to FIG. 4 of the drawings, there is illustrated ingreater detail the service platform 100 shown in FIG. 2. The serviceplatform 100 of the ELE 130 includes a programmable network interface140 operatively connected to at least one softswitch 160. Theprogrammable network interface 140 is capable of being incorporatedwithin and interfacing with the PTN 102. In addition, the programmablenetwork interface 140 not only interfaces with the PTN, but can alsointerface with a variety of other types of communication networks (seeFIG. 5). The programmable network interface 140 supports and/or providessome or all of the following capabilities: (1) standard networkprotocols: T1, E1, ISDN, SS7; (2) call progress analysis; (3)conferencing; (4) simple prompting; (5) reception of call data fromnetwork prior to and during call connection (ISDN); and (6)communication with the network without connection (SS7).

The softswitch 160 is capable of integrating and managing a plurality ofenhanced telecommunications services contained within an applicationsserver 180. In addition, the softswitch 160 is capable of using avoice-activated interface 145 to enable a subscriber to access at leastone of the plurality of enhanced telecommunications services.

The softswitch(s) 160 is generally responsible for downloading firmware,prompts, system parameters, span parameters, channel parameters, ISDNparameters and SS7 parameters to the network interface 140. Uponstartup, the softswitch(s) 160 typically determines what informationneeds to be downloaded and automatically performs the download. Duringnormal operation, if there is a loss of configuration or a change inconfiguration, the softswitch(s) 160 can automatically reconfigure theprogrammable network interface 140. Reconfiguration of a channel usuallywaits until the channel is idle.

The softswitch(s) 160 also supports the hot swappable capabilities ofthe programmable network interface 140. This includes both addingcapacity and replacing failed cards. Furthermore, the softswitch(s) 160also communicates with a database server 170 to support changes insubscriber data. The softswitch(s) 160 requires up-to-date routinginformation to ensure proper handling of callers.

The softswitch(s) 160 further includes application software responsiblefor all aspects of inbound and outbound call processing, switchadministration, monitoring, error logging, alarming, and CDR (CallDetail Records) generation. The call processing software of thesoftswitch(s) 160 is responsible for routing callers and subscriberscalling the system to the voice-activated interface 145 for sign on andfor providing state and status information to the voice activatedinterface 145 upon connection. This allows the voice-activated interface145 to perform the proper call flow for the given situation.

In addition, the call processing software within the softswitch 160 isresponsible for routing both callers and subscribers based oninformation received from the voice-0activated interface 145. Forexample, the information received from the voice-activated interface 145may instruct the call processing software within the softswitch 160 toforward callers to a specific number or voice mail, route subscribers tovoice mail to check messages (internal or external), place callers onhold, connect callers with subscribers, swap a caller on hold withcaller involved in a current call with the subscriber, performconferencing (e.g. create a ‘meet me” conference, conference subscriberswith an administrative application within the applications server 180 toreceive commands, conference callers with the subscriber or conference acall with a recording system within the applications server 180 torecord the conversation of the call), locate a subscriber for a caller,make calls for a subscriber, forward callers to a number on thesubscribers speed dial list, perform auto-redial functionality upondetection of busy if requested by the subscriber, disconnect callers ortear down conferences.

The voice-activated interface 145 is key in interacting with subscribersand their callers. The service platform 100 is able to converse” with acaller similar to the way two people converse using the voice-activatedinterface 145. The voice-activated interface 145 provides simple andcomplex voice prompting and interaction with the database server 170.Furthermore, the voice-activated interface 145 provides a voicerecognition functionality, which enables user interaction with thevoice-activated interface 145. The voice recognition functionality canbe either internal to the voice-activated interface 145 or can be anexternal resource. It should be noted that Dual Tone Multi-Frequency(DTMF) might be used wherever the caller desires instead of voicecommands, such as to dial a telephone number not stored in the database170.

The voice-activated interface 145 functions like a “communicator/translator” between the caller and the service platform 100, and thisfunction is referred to herein as the “virtual administrator.” The“conversations” with a subscriber and/or caller are as human aspossible. Therefore, individual voice commands can be supplied with arather extensive vocabulary, using simple sentences.

The voice-activated interface 145 preferably provides tutorials to thesubscriber the first time the subscriber accesses the platform 100, oras needed. In addition, the voice-activated interface 145 provides anerror-correcting mechanism, which supplies helpful error messages when acommand is not understood. Furthermore, the voice-activated interfacemay provide two sets of prompts: one set for beginners and one set foradvanced users. The prompts for beginners can be long and explanatory.The prompts for advanced users can be fairly concise. With advancedprompts, the error messages preferably contain additional information.

For each received voice command, the “virtual administrator” associatedwith the voice-activated interface 145 either acknowledges the command,requests additional information (e.g. in the case where there isambiguity as to what the subscriber wants or if additional informationis actually needed to perform the voice command) or rejects the commandwhen the “virtual administrator” does not understand what was spoken.Rejection messages preferably list the valid options. If the ‘virtualadministrator” times out without hearing any speech, the error messagepreferably helps the subscriber understand what to say in this context.Preferably, the subscriber is able to transmit a command to “wait aminute” to pause the “virtual administrator” and allow the subscribertime to look up information or do something else.

Furthermore, if the virtual administrator” performs the wrong command orthe subscriber speaks the wrong command, the subscriber preferably hasthe ability to back-up and provide the correct voice command. Thesubscriber should also preferably be able to request a list of validcommands. Remembering the options the subscriber typically speaks andweighting the recognition results accordingly can further improverecognition accuracy. For instance, the “virtual administrator” canremember which speed dials are used most often, what phone numbers aredialed manually most often, and which commands are executed most often.In the case of the speed dials, the candidates for forwarding may bedifferent than candidates for calling.

The general system requirements of the voice-activated interface 145are: (1) hardware independence, which allows transparent replacement ofhardware components from various vendors; (2) scalability, which allowseach node to handle between 24 and 512 ports, and allows for multiplenodes; (3) flexibility, which allows various applications to run on asingle server or across multiple servers; (4) open interfaces thatsupport open database (SQL) and call control APIs (TSAPI); and (5) aconfiguration database that has fast access times, provides persistence,and can be remotely accessed.

The voice-activated interface 145 generally requires the ANI/DNIS(Automatic Number Identification/Dialed Number Identification Service)for each call in order to perform the proper sign-on. In addition, thevoice-activated interface 145 has knowledge of whether there are callerson hold when the subscriber signs-on and the current state any time thesubscriber invokes the administration process of the service platform100.

The voice-activated interface 145 also provides a “wakeup” function. Thepreferable way of receiving subscriber instructions is via voicecommands. However, during a call session, there may be times where asubscriber is in a telephone call and does not need the complexcommunication functions of the service platform 100. In these cases, avoice recognition resource of the voice-activated interface 145 isavailable to understand a few simple commands (e.g. “Service platform, Ineed you”) in order to connect the subscriber to the full functionalityof the service platform 100.

The database server 180 provides all subscriber specific profile androuting information on an as needed basis to the softswitch 160. Thisinformation can include, for example, subscriber attributes, componentattributes, rate table attributes, contact list attributes, scheduleattributes, route option attributes, route list attributes, messagingattributes, paging attributes, usage attributes, caller ID history,future conferences and VIP exceptions.

The subscriber profile information can be entered, modified or deletedby the subscriber via the voice-activated interface 145 or via theweb-activated interface 155. The web-activated interface 155 alsoprovides access to subscriber billing information and account status.Besides servicing existing subscribers, the web-activated interface 155is also capable of automatically creating new accounts for customersthat want to sign up for services.

In preferred embodiments, the database server 180 is a scalable UNIXplatform with support for a RAID disk array. The scalability is achievedby adding CPUs and memory, or by changing to faster CPUs. The CPUs andmemory do not have to be hot swappable, because upgrades are preferablyperformed during a maintenance window. However, the RAID system shouldhave hot swappable drives.

The operations, administration and maintenance (OAM) server 190 uses aclient/server type architecture. The client application(s) provideremote access to the system to perform OAM functions. The OAM 190includes diagnostic tools that help service provider personnel diagnoseand correct problems. One such tool is a monitoring tool, which allowspersonnel to view the states of resources on a system and to issuespecific commands to a selected resource. For example, the monitoringtool may allow personnel to view the state of a channel and provide theability to busy it out or release it. A tracing tool can be providedthat allows real time state traces of selected resources and packettraces of data links. State traces show the current state, the input,and the next state for each state transition of a selected resource.Packet traces show each data packet transmitted and received on a datalink in either binary or ASCII format. All traces are preferably timestamped.

The OAM 190 further includes an administration application(s) thatallows modifications to be made to both the system and to subscriberinformation. For example, an administration application may allowpersonnel to modify customer (subscriber) account and billinginformation. Another administration application may allow personnel toconfigure system parameters, such as span and channel parameters, timervalues, and protocols to use. In addition, the softswitch(s) 160 cancontain servers/agents that support remote access to the OAM server 190.

Maintenance functionality within the OAM server 190 includes databasebackups, standard database management, restoring ability and softwareupgrades. Where appropriate, standard tools such as telnet and ftp areused.

With reference now to FIG. 5, there is illustrated a plurality ofdifferent networks 103-105 and subscriber equipment 150 that caninterface with the ELE 130 via the PTN 102. For example, within the PTN102, the subscriber can access the ELE 130 via a wireless phone 150within the PLMN 102 a or via a wireline phone 150 within the PSTN 102 b.

As another example, the subscriber can connect to the ELE 130 via avoice over Internet Protocol (IP) network 103, using an IP phone orcomputer or other such device. As a further example, the subscriber canconnect to the ELE 130 via a remote access link 104 using a PersonalDigital Assistant (PDA) or computer. As a further example, thesubscriber can connect to the ELE 130 via the Internet or World Wide Web(WEB) 105, using a computer or other device capable of connecting to theInternet/WEB 105.

With reference now to FIG. 6 of the drawings, there is illustrated ingreater detail an exemplary architecture of the softswitch 160 withinthe enhanced services platform 100 of FIG. 4. The softswitch 160 is areal time telephony application that facilitates protocol conversion,routing, conferencing, out dialing, forwarding, transferring and inboundcall concentration to shared resources. The softswitch 160 is preferablydeveloped on LynxOS, which is a UNIX-compatible, POSIX-conforming,multi-process, multithreaded operating system designed for complexreal-time applications that require fast, deterministic response.

The softswitch 160 is designed to handle call processing for amulti-node configuration with up 30,000+ ports of traffic. TheSoftswitch 160 is further designed with hot standby redundancy andprovides significant OAM functionality. The software of the softswitch160 consists of multiple event driven processes and threads. Theprocesses/threads operate asynchronously, driven through external eventsreceived from the network interface 140 and the applications server 180,and by internal timing events.

FIG. 6 is a representation of all of the components of the softswitch160, their inter-process communication (IPC) and external interfaces.All components communicate with the logger 167, and have access to theconfiguration database 169, but the lines have been left out forclarity.

The socket client subsystem 161 consists of a multithreaded processresponsible for maintaining all softswitch socket communication with thenetwork interface 140 and call processing redundancy to othersoftswitch(s) 160 b. For client operation, the softswitch 160 a mustinitiate the y connection. The main thread (sender) is responsible forinitialization and instantiation of the threads that perform thereceiving. The main thread also receives all outbound socket data viathe IPC and performs the writes to the appropriate socket. The receivingthreads read the data from the socket and send it via IPC to the statemachine engine 165 for processing by the appropriate state machine.

The socket Computer Supported Telecommunications Applications (CSTA)server subsystem 163 consists of a multithreaded process responsible formaintaining all softswitch socket communication with the applicationsserver 180. For sockets in which the softswitch acts as a server, athread acts as a daemon listening for connect requests and spawnsreceiving threads for each request. The receiving threads read the dataand send it to the state machine engine 165 for processing by theappropriate state machine. A sender thread receives all outbound socketdata via IPC and performs the writes to the appropriate socket. Thirdparty call control, routing and call data record (CDR) events aretransmitted on these connections. For diagnostic purposes, each threadis also capable of logging raw data traces to the logger task ifenabled.

The socket redundancy server 162 is the exact same process as the CSTAserver 163, except that it listens on a different port number forconnections. The redundancy server 162 listens for a redundancyconnection from the redundancy softswitch 160 b. The receive threadreads data and sends it to the redundancy state machine (not shown)within the redundancy softswitch 160 b for processing. This link isprimarily used for negotiating which softswitch (160 a or 160 b) isprimary/ secondary, and sending periodic “Keep Alive” messages to theother softswitch(s) 160 a and 160 b. If the secondary system notices aloss of connection to the primary system or if three consecutive “KeepAlive messages” are missed, it immediately becomes primary.

The state machine engine 165 receives all events for all resources. Aresource is transitioned based on the current event, it's current stateand it's state machine. During a transition, actions are performed thatinclude execution functions, sending messages to other resources ortasks, setting and clearing timers and performing local stackoperations. The engine 165 is also responsible for controlling dynamicprovisioning of resources. Resources can only be provisioned in an IDLEstate, so the engine 165 must flag requested provisioning changes anddeliver them when the resource is IDLE. For diagnostic purposes, theengine 165 generates resource state traces to the logger 167 when theyare enabled.

The control module 166 is responsible for initializing the system,starting all processes after boot up, and restarting or rebooting thesystem in the event that a process dies. A process may exit due do anunexpected problem or may exit because of a known situation. In eithercase, the control module 166 reboots the system, causing the hot standbyredundant softswitch 160 b to take control.

The timer module 164 facilitates the expiration of timers set by othermodules. When a timer expires, the timer module 164 send a messagerequested by the associated module when the timer was set to theassociated module. Timers are used heavily in state machines 165 whilewaiting on expected events. The expiration of a timer allows a statemachine 165 to gracefully recover from an error condition.

The logger 167 receives errors and diagnostic trace messages from allother modules and writes them to a log file 172. The logger 167maintains a configurable number of log files 172 of a fixed size toprovide an appropriate amount of history. Each error message containsthe softswitch name, time stamp, error number, process name, file name,line number and variable length information. Errors may also beclassified by severity. If the severity of an error is critical, it canbe propagated to the alarm management system (SNMP) 171.

The Event Detail Records (EDR) module 168 receives EDR messages fromvarious state machines on specific transitions. These messages areactually CSTA events, and when the EDR module 168 receives them, theyare written in binary form to a daily EDR file 173. The EDR files 173are used for billing, capacity planning, and diagnostic purposes. Eachfile 173 includes fixed and variable data depending on the record type.The fixed part of the file 173 (the header) preferably includes a recordtype, timestamp, and data length, while the variable part of the file173 depends upon the type of file 173. The EDR module 168 retains aconfigurable amount of days worth of EDR files 173. A new EDR file 173is preferably started every night at midnight.

The DB Agent 174 is a multi-threaded socket application that providessecure connections for remote OAM servers (clients) 190. The DB Agent174 includes a listening thread that spawns a separate communicationsthread for each client that logs in. Each client is verified with a username and password, and after successful logon, is capable of accessingthe softswitch configuration database 169. PAPI is the preferredclient/server protocol used, which allows for creation, modification,deletion and querying of softswitch resource configuration data, andallows querying of real-time dynamic resource information such ascurrent state of a channel.

The SNMP 171 provides a remote alarming capability for the softswitcherror messages that are sent to the logger 167. These error messages arepropagated via traps to the OAM server 190, which delivers them to theappropriate local or remote service provider clients. As also brieflymentioned above, the softswitch configuration database 169 is aproprietary shared memory database design for access speed. Theconfiguration database 169 contains all of the parameters required toconfigure every component. It also contains internal routing tables,port groups, configurable state machine parameters and dynamic real-timedata as well. The configuration database 169 supports both persistentand non-persistent attributes, multiple storage types, including stacks,link lists, balanced AVL trees, and heaps, multiple simultaneous accessand numerous data types.

With reference now to FIG. 7A, there is illustrated in greater detailthe applications server 180 within the platform 100 of FIG. 4. Theapplications server 180 includes a services application platform 185 anda telephony application platform 195. The services application platform185 provides services that do not require a telephony interface, whereasthe telephony application platform 195 provides services that do requirea telephony interface.

Referring now to FIG. 7B, the services application platform (SAP) 185runs the following services: (1) routing service; (2) CDR service; (3)network interface administrative service; (4) watchdog service; (5)monitoring service; and (6) SNMP service. Since the SAP 185 providesservices that do not require a telephony interface, these servicesinterface only with the database server 170, softswitch 160 and OAMserver 190 to facilitate a wide range of functionality. Each of theseservices is described in greater detail herein below.

For the routing service, in order to facilitate the Single Number AccessService and future enhanced services, the softswitch 160 must be capableof obtaining call routing information from third party applications.Initially, this third party application is a Routing Server 182. TheRouting Server 182 is responsible for making intelligent call routingdecisions based on the service type and customer database 170information.

At startup, the Routing Server 182, acting as a client, connects to thesoftswitch 160. Thereafter, this connection is maintained at all times.If the connection fails, the Routing Server 182 periodically attempts toreconnect to the softswitch 160. After the connection is established,the Routing Server 182 registers for each service on the softswitch 160that it wants to control routing for. For each call that requiresexternal routing, the softswitch sends a route request to the RoutingServer 182. Based on the service type, the Routing Server 182 queriesdifferent customer database 170 tables to make the appropriate routingdecision.

For the CDR service, at startup, a CDR Server 181, acting as a client,connects to the softswitch 160. Thereafter, this connection ismaintained at all times. If the connection fails, the CDR Server 181periodically attempts to reconnect to the softswitch 160.

Softswitch 160 provisioning, and configuration and maintenance on thesoftswitch 160 is performed via an Administrative Service 183. One ormore clients can provision features of the softswitch 160 simultaneouslyusing the Administrative Service 183 locally or remotely via the OAM190. The Administrative Service 183 also communicates with the networkinterface 140 (shown in FIG. 4), which acts a proxy server for theSoftswitch 160.

The SAP 185 is further equipped with a Watchdog Card 187 that has theability to reset the CPU (not shown), and has a counter thatautomatically resets the CPU if it is not periodically updated. Thepurpose of the Watchdog Service 186 is to ensure that all SAP 185services are operating a properly, and if any service is notfunctioning, the Watchdog Card 187 automatically resets the CPU.

As each service on the SAP 185 starts up, it registers with the WatchdogService 186, and sends periodic ‘Keep Alive” messages at the ratespecified by the Watchdog Service 186. If a service fails to report Nconsecutive “Keep Alive” messages, the Watchdog card 187 resets thesystem. When the Watchdog card 187 resets the system, the WatchdogService 186 notifies all registered services of the impending event. TheWatchdog Service 186 also reports any missed ‘Keep Alive” messages orreset conditions to the Event Log 184.

The Monitoring Service 188 provides the ability to route diagnosticinformation to a remote client that has logged in and requestedreal-time information from an SAP 185 service. This Monitoring Service188 provides secure logon in the form of user name and password from allclients, and allows multiple clients to log in simultaneously. Each SAP185 application supports sending informational, trace, and diagnosticmessages to the Monitoring Service 188. The Monitoring Service 188 isresponsible for delivering those messages to the appropriate client.

Each SAP 185 also contains an SNMP Agent 189 that monitors the Event Log184, and reports these events to the OAM server 190. The SNMP Agent 189also monitors system disk, memory, and CPU utilization and reportsalarms to the OAM 190 if usage exceeds a threshold.

Referring now to FIG. 7C, the Telephony Applications Platform (TAP) 195runs the following applications and services: (1) Application Engine;(2) Multi-Client COM Server; (3) Watchdog Service; (4) MonitoringService; and (5) SNMP Service. Since the TAP provides applications thatrequire a telephony interface 191, these applications interface with thesubscriber database 170, softswitch 160, network interface 140,voice-activated interface 145 and OAM server 190 to facilitate a widerange of functionalities. Each of these services is explained in greaterdetail herein below.

A standardized Application Engine 192 is required to perform processingof calls, requests, and other service operations. The Application Engine192 is preferably a state machine responsible for processing calls andsystem events needed to facilitate enhanced services. These servicesinclude, but are not limited to, the following: (1) Tutorial; (2)Subscriber Account Management; (3) Single Number Access Service; (4)Virtual Administrator; (5) Virtual Office Phone; (6) Call Screening; (7)Voice Messaging; and (8) Unified

Messaging. In addition, other maintenance items, such as subscriberverification, the Application Engine 192 also supports subscribersign-on and subscriber setup.

The COM server 192 is a multithreaded I/O server. It currently supportsfive different classes of I/O: (1) TAP to TAP communication; (2) VoiceRecognition communication; (3) Unified Messaging communication; (4)Database communication; and (5) CSTA communication. Additional classesof I/O can be easily integrated into the COM server 192

Applications on the TAP 195 initiate a connection the COM server 193listening thread, which spawns a send/receive thread dedicated to thatconnection. Each send/receive thread forwards all requests via IPC tothe COM server 193 main thread. The COM server 193 main thread thenforwards the request to the appropriate I/O thread. When a responsecomes back, the I/O thread forwards the response to the COM server 193main thread and then to the send/receive thread.

The TAP 195 is also equipped with a Watchdog Card 197 that has theability to reset the CPU, and has a counter that automatically resetsthe CPU if it is not periodically requesting an update. The purpose ofthe Watchdog Service 196, as in the case of the SAP 185, is to ensurethat TAP applications are operating properly, and if not functioning,the Watchdog card 197 automatically resets the CPU. The Watchdog Service196 also reports any missed ‘Keep Alive” messages or reset conditions tothe Event Log 194.

The Monitoring Service 198, as in the case of the SAP 185, provides theability to route diagnostic information to a remote client that haslogged in and requested real-time information from a TAP application.This service provides secure logon in the form of user name and passwordfrom all clients, and allows multiple clients to log in simultaneously.

Each TAP 195 also contains an SNMP Agent 199 that monitors the Event Log194 and reports these events to the OAM server 190. The SNMP Agent 199also monitors system disk, memory, and CPU utilization and report alarmsto the OAM 190 if usage exceeds a threshold.

With reference now to FIG. 8A of the drawings, there is illustrated thesteps for using the voice-activated interface of FIG. 4 to access one ormore enhanced services. Subscribers who register with the enhanced localexchange of FIG. 4 are provided a personal local dialable telephonenumber and optionally an 800 number associated with the local number.Subscribers are able to call into the enhanced local exchange via theirlocal and/or toll-free telephone number. Callers use the same numbers tocontact the subscriber, so both Dialed Number Identification Service(DNIS) and Automatic Number Identification (ANI) from the PSTN must beused to identify the call as originating from the subscriber. ANI, whenavailable, provides the caller's location.

When the subscriber dials his/her local or toll-free telephone number(step 800), the call is routed to the enhanced services platform withinthe enhanced local exchange (as described above in connection with FIG.3). If the subscriber dials his/her number from a location that is notone of his/her known ANIs (step 805), the enhanced services platforminitially assumes that the caller is not the subscriber. Therefore,during the initial greeting, the voice-activated interface of theplatform is listening for a voice command to transfer the call to asubscriber sign-on process (step 810). If the voice-activated interfacedoes not receive a sign-on command, the call is treated as an incomingcall to the subscriber (step 815).

If the caller initiates the sign-on process or if the ANI identifies thecaller as the subscriber (based on the subscriber profile stored in thedatabase, which is accessed by the softswitch of the platform uponreceiving the ANI), the “virtual administrator” of the voice-activatedinterface greets the subscriber and asks for further validation.Subscriber sign-on for validation is performed via spoken commands,possibly using'speech print technology. Once the subscriber is validated(step 820), he/she has access to system features based on the subscriberprofile (step 825). If the subscriber is not validated (e.g. in the casewhere another person is using one of the subscriber's phones andattempting to reach the subscriber), the platform treats the call as anincoming call to the subscriber (step 815).

As mentioned previously, when the platform receives the call, thesoftswitch accesses the database server to retrieve the subscriberprofile information associated with the called subscriber. Thesubscriber profile is generated from a subscriber database that includeselements of the components he/she is utilizing. These elements includegeneral information, such as the subscriber account number, accountinginformation (for billing, usage, etc.), personal identifying information(for validation purposes), current schedules and routing options, usagestatistics for prompting and tutoring levels, caller ID history ofprevious callers and other general information. In addition, theelements may include various features available to the subscriber, suchas a contact list, including at least calling party names and one ormore telephone numbers (ANI's) for each name, greetings (generic and/orspecific based on the calling party), messaging attributes (voice,email, SMS), paging attributes and fax attributes.

Once the subscriber is validated (step 820), if it is the first timethat the subscriber has signed-on to the platform (step 830), he/she ispreferably required to go through a tutorial that guides them throughinitial configuration of their profile and provides them with generalinstructions on how to effectively use their ‘virtual administrator”(step 835).

After the tutorial is completed (step 835) or if the subscriber haspreviously signed-on to the platform (step 830), the session begins bythe ‘virtual administrator” greeting the subscriber (step 840) andprompting the subscriber to supply a voice command (step 845). If thesubscriber does not supply a voice command within a certain time period(e.g. the subscriber times out) (step 850), the “virtual administrator”prompts the subscriber again for a command, and possibly lists optionsavailable to the subscriber to help the subscriber determine theappropriate command (step 855). Once a voice command is received, thevoice-activated interface and softswitch interact with the databaseserver to carry out the command (step 860). Thereafter, the virtualadministrator” responds to the subscriber with confirmations andrequests further commands (step 865). If no new commands are receivedand/or if the subscriber disconnects from the platform, the session iscompleted (step 870).

The voice commands allow the subscriber in session to perform most ofthe dialing and call completion functions associated with a phonesystem, such as dialing, call holding, call conferencing, callforwarding, etc., without requiring the subscriber to dial DTMF tones.This enables the subscriber to remain hands-free during the session.

For example, the subscriber is able to speak the telephone number thathe/she wishes to call, speak preprogrammed speed dial numbers accessiblevia voice commands by name and location (e.g. call Bob at home) andrequest directory numbers for specific areas (e.g. call information inSeattle). In addition, the subscriber is able to place multiple callswithout hanging up. For example, after the subscriber has finished withone call, the subscriber can say, “‘Now call Sue.” Furthermore, thesubscriber has the ability to request the platform to keep trying a busytelephone number without subscriber supervision (a feature termedautomatic unsupervised redial). Once the number is no longer busy, theplatform finds the subscriber and completes the call. Likewise, thesubscriber has the ability to request the platform to connect him/her tothe previous caller, or to a caller who left the subscriber a voicemail.

Other call functions that can be performed during a call with speech are“call waiting” (e.g. instead of a beep, the “virtual administrator” cansay: “Incoming call from Mary. Do you wish to answer?”), call transfer(e.g. instead of dialing the transfer-to number, the subscriber can say“Transfer to Frank” or “Transfer to voice mail”), call swapping (e.g.switch between a caller on hold and the current caller), call disconnect(e.g. instead of hanging up, the subscriber can say, “Hang-up”), callforwarding (e.g. the subscriber can request that an incoming call thatthe subscriber does not wish to answer during a current call beforwarded to a different number or voice mail) and conference calling ondemand (e.g. the subscriber can say, “Conference in Joe and Bill withthis call”).

For call transfer, the subscriber preferably is able to listen to thecall progress and talk to whoever answers the call before completing thetransfer. If the number is not answered or is busy, then the subscribercan request another transfer or perform any of the other optionsavailable.

Likewise, for call forwarding, prior to forwarding, a subscriber canrecord a short informational message to be played to the caller.Additionally, if the subscriber forwards the call to another number, acanned message can be played to the recipient of the call specifying thesubscriber's name and the caller's name, if known.

For call waiting, while in a call session, a subscriber can be notifiedof another call waiting. The subscriber can take the call or ignore it.If he/she ignores it, the caller is routed to voice mail after a certaintimeout. If the subscriber acknowledges the call by “waking up” theplatform, the “virtual administrator” notifies the subscriber who iscalling (recorded name of caller), and the subscriber has severaloptions of how to route the call.

The subscriber can either send the call through, conference the callerwith the current call, ask the caller to hold, route the call to anothernumber, take a message or give a specific message to the caller(i.e.—“John, I'll call you back in a few minutes.”). If the caller hasalready been forwarded to voice mail when the subscriber finallyacknowledges the incoming call, the subscriber may choose to listen tothe caller recording the message, and then decide to connect to thecaller. The subscriber also has the option of disabling call waiting.Call waiting is preferably automatically disabled during recording orconferencing.

For conference calling, the subscriber can either initiate a call (viavoice dialing) to each party involved in the conference or an incomingcaller can be conferenced with the subscriber and the current caller(e.g. “Meet-me conference”). Furthermore, a subscriber is allowed to setup “Meet-me Conferences” in advance or on the fly. To prearrange aconference, the subscriber can enter a conference ID of their choosingand the date and time of the conference. Subscribers must providecallers with the conference ID in advance. Alternatively, the subscribercan provide the ANI of parties involved in the conference, and when theANI of the calling subscriber matches one of the conference parties, anannouncement is played to the calling subscriber requesting him/her tojoin the conference. If the subscriber disconnects from a conference,the conference can optionally continue if the subscriber has thatfeature enabled. Furthermore, a subscriber can detach from a conferenceto make calls, check messages or perform any other enhanced service, andthen later rejoin. Also, preferably, if a subscriber is in session andthe scheduled time for a “Meet-me conference” has arrived, a reminder isplayed to the subscriber.

It should be understood that if the subscriber specifies anothersubscriber's enhanced local or 800 number using any of the abovemethods, then the platform uses the routing options of the secondsubscriber to locate him/her. It should further be noted thatsubscribers also have the ability to add names and locations of contactsto their speed dial (contact) list during a session if a name requesteddoes not match a current entry.

Another enhanced service available to subscribers during a call is theability to record a conversation at will, with some form of “tagging” ofthe call session for later retrieval. This recording service utilizesrecording and playback technology that allows for a significant amountof voice storage and easy look-up functions (not voice store andforward). The recording service can also be activated for all calls, ifdesired, or for certain calls. The recording service can be activatedprior to initiating a call or during a call, and can be discontinued atany time during the call.

Access to playback of recorded calls can be through the web-basedinterface via the Internet and/or through voice commands. Playbackcommands consist of at least: Delete, Pause, Fast Forward, and Rewind.Furthermore, the platform has the ability to supply a copy of a recordedconversation to a subscriber through various media, including audiotape,a WAV file via Internet or disk, or even a transcription. The platformis also capable of storing other forms of media in the database serverwhere appropriate. For example, storage of faxes, e-mail, and/or video(from a video conferencing feature) is possible.

In addition to call completion functions, the subscriber also has theoption of performing administrative functions to update their subscriberprofile. As with call completion all subscriber responses foradministrative functions are via voice commands. Therefore, thevoice-activated interface utilizes voice recognition technology tounderstand the subscriber's requests. Furthermore, the interfaceprompting is also in a “conversational” format.

Administrative functions can be general maintenance functions, such assecurity functions, recording of greetings to specific callers orrecording of a generic greeting, updating accounting data (billingaddress) or changing the feature packages that the subscriber isregistered for. Other administrative functions include customer serviceneeds, such as problem reporting, service questions and other requests.

The administrative functions can also include call routing functions,such as establishing or updating call routing access numbers of thesubscriber (work phone, cell phone, home phone, pager and/or otherappropriate routing locations) and associated times/days of week forrouting to each of the access numbers if the subscriber subscribes tothe single number access service. Other call routing functions includeVIP exceptions, which provide special call handling for a specificcaller based on the ANI, override call routing, which activates analternate routing option where all callers are routed until the overrideis deactivated, specific caller routings, which is usually stored in thecontact list and provides special routing instructions for specificcallers (i.e.—take a message, play specific greeting, etc.), extendedabsence, which allows the subscriber to set up the start and end daysfor holidays and vacation periods where callers are routed to voice mailand turning on or off various routing options (i.e. voice mail, paging,etc.).

Part of the subscriber's profile in the database also includes a callerID history buffer. This circular buffer contains the last N entries ofall calls to the subscriber's enhanced telephone number. A buffer entrycontains the number, time stamp and the ANI. If the ANI is in thesubscriber's speed dial (contact) list the caller is (preferably)identified by name, otherwise the number is given. During a session, asubscriber may request a playback of the information in the buffer.After playback of each entry, the subscriber may request that theplatform connect him/her to that caller. Additionally, the subscribercan simply listen to all entries, restart playback, quit playback, andrepeat an entry or request that the buffer be cleared. In preferredembodiments, after sign-on, subscribers are given an option to reviewtheir caller ID history if it is an enabled feature.

In addition to the recording service, the platform can also offer aunified messaging service. The messaging service provides unifiedmessaging support for voice, fax, and e-mail. The unified messagingservice is a central repository for subscribers' e-mail, faxes and voicemessages. After subscriber's sign-on, if there are any messages waitingin their mailbox, they are notified of the number and types of messagesand given an opportunity to listen to them.

E-mail, internally between groups of subscribers and externally via theInternet, is also available through the unified messaging service. Thesubscriber can be read back e-mail messages over a phone line usingtext-to-speech, view e-mail with other messaging sources (voice, fax oron a computer via the Internet), and send and receive e-mail with othersubscribers or through the Internet. E-mail may also be forwarded orreplied to in the usual method or with a voice attachment.

In addition, voice mail messages can be forwarded to another voicemailbox, fax machine, e-mail address or any other communications device.Voice mail messages can be played back on a computer through aninterface with the subscriber's e-mail address. The subscriber can alsoreply to the voice mail via e-mail if the caller's e-mail address isknown (the caller's e-mail address can be stored in the contact list inthe subscriber profile and included with the voice mail message sent tothe subscriber's e-mail address). If the subscriber has a message thenin addition being notified when the subscriber signs-on, the subscribercan request the platform to notify the subscriber using the ShortMessage Service (SMS) system or by paging the subscriber.

Furthermore, the subscriber can receive faxed messages into their voicemailbox or into their e-mail address. Received faxed messages can beretrieved via e-mail through the Internet, by phone using text-to-speechor through a fax machine designated by the subscriber. Likewise, thesubscriber can send a fax via e-mail or fax machine to the platform,which can forward the fax to the appropriate parties. If the subscribersends the fax to another enhanced subscriber, the subscriber may havethe option of attaching a voice message to the fax.

Reference is now made to Tables 1-4 below for a more complete listing ofthe enhanced services offered by the enhanced services platform.

TABLE 1 “Virtual Administrator” Features Feature Description CallWaiting Inform the subscriber of a second incoming call. SupervisedTransfer Transfer a call while listening to the call progress.Forwarding Automatically send incoming calls or callers on hold to aspecified destination. Call Swapping Switch between a caller on hold andthe current caller. Call Disconnect Subscriber can request the virtualadministrator disconnect a caller at any time during a call. SequentialCalling Make multiple calls through the virtual administrator withouthanging up. Conference on Demand Conference in two callers. VoiceDialing by Ability to speak the telephone number to be Number calledDTMF Dialing Standard DTMF dialing is allowed. Unsupervised RedialAbility to keep trying a busy telephone number without subscribersupervision; once the number is no longer busy, the virtualadministrator finds the subscriber and completes the call. Dial LastCaller Contact the last caller to whom you were speaking Call ScreeningIf the virtual administrator does not know the caller based on the ANI,it prompts the caller for his name. Subscribers can be notified of whois calling. Auto Forward to If subscriber is already talking to twoUnified Messaging callers, send new callers to voice mail. Service (UM)if Busy Message Notification Subscribers can be informed of the type andof UM Messages number of messages in their box when they call into thevirtual administrator. Connect to Caller in Give subscriber the abilityto connect to a UM Voice Mail caller who is leaving a voice mail. VoiceDialing by Ability to speak the name and location of a Name/Locationcontact to initiate a call. Meet Me Conference Up to 8 callers can joina subscriber in a pre arranged conference Caller ID History A circularbuffer stores the last N entries of all calls to the subscriber'senhanced number. This information includes the number, time stamp, andthe ANI. External Voice Mail Ability to transfer callers to externalmail Support systems.

TABLE 2 Single Number Access Service Features Feature Description HardForward Ability to hard forward to an override number. ANI-based Abilityto route callers differently, depending on Routing whether they are inthe subscriber's contact list. Exception/VIP Allows the subscriber todesignate one caller (ANI Routing for special handling, if thesubscriber is in session. The VIP can be hard forwarded to a designatednumber or the subscriber can be interrupted with a special call waitingindication (unless recording is activated). Extended A start and end dayfor holiday and vacation Absence periods when callers are routed tovoice mail. Contact List The names and phone numbers of family, friends,and colleagues. Route Lists Specifies the sequence of Route Options andwhether calling should be in sequential or broadcast mode. SchedulesSpecifies time of day, days of week and the route list to use.Sequential Dial the numbers in a subscriber's Route List one Search at atime to locate them. Broadcast Dial the numbers in a subscriber's RouteList Search simultaneously to locate them. Route Options Route optionsinclude mobile, office, home, pager, voice mail, and 3 alternatives.Paging Page to notify subscribers of a waiting caller using:Numeric/Alpha E-mail Data Link (TNPP TAP/PET paging protocols)

TABLE 3 Unified Messaging Service Features Type Feature DescriptionVoice Forwarding The platform provides a voice mail feature to Replyrecord caller messages. Voice mail is Callback completely accessible viaboth voice commands and Internet Retrieval the Internet. The systemallows for Phone Retrieval retrieval of messages, along with the abilityNetworking (VPIM) to forward and reply to messages. The platform allowsintegration to an external Voice Mail system via VPIM, so that messagesreceived by the platform can be forwarded to the appropriate location inthe client voice mail system. E-mail Forwarding E-mail is availableinternally between groups Reply of subscribers and externally via theInternet Retrieval Internet. Subscribers can hear their Email viatext-to-speech, view Email with other messaging sources (such as voiceor fax) on a computer via the Internet, and send and receive Email withother subscribers or through Internet interaction. Email may beforwarded or replied to in the usual method or with a voice attachment.FAX Internet Retrieval Callers can leave a Fax message in the VoiceAttachment subscriber's mailbox with or without a Store and Forwardvoice attachment. Subscribers can retrieve their Faxes over the Internetor by entering a destination number. Additionally, the Fax can beconverted to an Email and delivered to an Email address. Message ShortMessage Service Notification of messages is through Notification (SMStypical as well as unique methods. For Paging example, calling yourcurrent routing Voice (when in location, notifying a pager, using SMS,system) sending a message to your Email address, Message Forwarding ornotifying a subscriber that is in a call session. News News Service

TABLE 4 Recording Service Features Options Feature Description RecordingRecording Ability to record a conversation at will while on a call is inprogress Demand Recording Record Ability to record all incoming callsbased on All Calls DNIS or account number. Playback Phone/ Storage ofrecorded calls is time-limited. Internet Access to playback of recordedcalls is through Delete Internet and/or voice commands. Playback Pausecommands consist of Delete, Pause, Fast Fast Forward, and Rewind. ThePlatform can supply a Forward copy of a recorded conversation to asubscriber Rewind through various media, including audiotape, a WAV filevia Internet or disk, or even possibly a transcription.

With reference now to FIG. 8B, there is illustrated the steps performedby the enhanced services platform of FIG. 4 when an incoming call to asubscriber registered with the enhanced local exchange is received. Whenan incoming call to a subscriber registered with the enhanced localexchange of FIG. 4 is received by the enhanced services platform (step880), the platform retrieves, if available, caller information, such asANI (Automatic Number Identification) and DNIS (Dialed NumberIdentification Service). Thereafter, the platform retrieves theappropriate subscriber profile information from the database server(step 881).

The platform then compares the ANI with subscriber routing instructionsstored in the subscriber profile to determine the initial routingrequirements. For example, the subscriber may have set his/her contactlist such that all calls from a particular ANI are automatically routedto the subscriber's voice mail, fax machine, e-mail address, home phone,pager, cell phone or work phone. If the ANI is within the contact listand has specific routing instructions associated with it (step 882), theplatform routes the call using the associated routing instructions (step883). The voice-activated interface may also play an announcement to thecalling party during the routing process (e.g. “Please wait while Itransfer your call”).

If the ANI does not have any specific routing instructions associatedwith it, the platform determines if the ANI has a specific greetingassociated therewith in the contact list. If so, a caller specificgreeting is played. If not, and the subscriber has a call-screeningfeature enabled, the caller is met with a generic greeting and promptedfor their name. Otherwise, the caller is prompted for the type of call(voice, fax, e-mail, voice mail, etc.) (step 888). For example, callersto subscribers may send a fax to the subscriber through the singleaccess number. Once received, the fax is stored in the database server.The subscriber may then call into the platform to access the fax similarto voice messages (unified messaging). Faxes can be sent and/or accessedthrough a local fax machine, Internet fax capability, speech-to-text ore-mail conversion.

Thereafter, the call is routed based on the type of call, name (ifprovided) and call routing features established by the subscriber (step889). The platform interacts with the database server to determine thecorrect routing instructions for the call. For example, if thesubscriber has a “Meet-Me” conference active, then callers are promptedto join. If the caller is not invited to the conference and/or does notknow the conference ID, the caller is forwarded to the subscribers voicemail.

As another example, since the platform is accessible (for configurationchanges, scheduling, e-mail, etc.) via the web-activated interface, theplatform has knowledge of when a subscriber is in a web session, and canmake appropriate decisions with callers based on that knowledge. Forexample, the platform may be able to enable the subscriber to interactwith the caller through the web interface using voice over IP.

As a further example, if the subscriber has the override feature active,the caller is forwarded to the override number. As a further example, ifthe subscriber has activated the extended absence service, the caller isrouted to voice mail. Likewise, if the caller is involved in a sessionwhere both lines are busy, the caller is forwarded to voice mail.However, if the subscriber has a VIP exception for the caller, thecaller is handled in a special way designated by the subscriber. The VIPcan be hard forwarded to a designated number or the subscriber can beinterrupted with a special call waiting indication (unless the recordingservice is activated).

If the subscriber has the single number access service, routing of callsmay also depend on the time of day, days of week and one or more routinglists. Routing lists specify the sequence of route options (home first,then cell phone, then voice mail, etc.) and whether calling should be insequential or broadcast mode. Routing lists include the variousterminating devices (subscriber equipment) that the subscriber can bereached at, along with paging and voice mail options. Each option mayalso specify how many rings to allow at that device. While thesubscriber is being located, the caller is placed on hold and isperiodically prompted to find out if they want to simply leave a voicemail. If the subscriber is unable to be reached, additional routingoptions may also be pre-defined by the subscriber. Such additionaloptions may include taking a message, routing to the subscriber's voicemail box, playing a recorded announcement (the announcement can begeneric simply indicating the subscriber's schedule or it can bespecific to the caller, giving the caller information that he/she mayneed) and paging the subscriber while the caller waits on hold to beconnected once the subscriber calls in to the platform.

Another route option may be to provide fax or e-mail services to thecaller. For example, a subscriber may provide access for their callersto sales (or other) literature via fax-on-demand, voice response, WEB orother. The literature is either stored in the profile or in a separateapplication database. As another example, the caller may be able toleave a voice message for the caller and request that the voice messagebe faxed or e-mailed to the subscriber. (The subscriber may also requestvoice messages be faxed or e-mailed to him/her.)

Referring now to FIG. 9, there is illustrated a block diagram of anenhanced telecommunications system, which includes multiple enhancedlocal exchanges of the type shown in FIGS. 2 and 4. Each ELE 130 isconnected to a Tandem Office 118 in an area 128 to allow convenientaccess for local service without having to directly connect to everyCentral Office (traditional local exchange) 110. As discussedhereinbefore in connection with FIG. 3, subscribers can port their localtelephone numbers over to the ELE 130, which is capable of providingenhanced services (via the enhanced services platform) as a replacementto their current local service.

All of the ELE's 130 are interconnected via an enhanced network 125using ATM, VoIP, TCP/IP, and T1 for the purposes of transporting voiceand data. Each ELE 130 is also connected to a Network Operations Center115, which provides real-time alarms and allows for remote standardmaintenance and provisioning functions. The enhanced network 125 is alsoconnected to multiple Internet Service Providers (ISPs) 112 a-c to allowsubscriber Internet/WEB 105 access to their subscriber profiles and theenhanced services via the web-activated interface.

The Network Operations Center (NOC) 115 may also serve as a gateway intothe enhanced network 125. For example, since the ANI provides thecaller's location, the ANI may cause the call to be routed into theNetwork Operations Center 115 for the geographic region of caller (i.e.a subscriber calling from New York is routed into the appropriateNortheastern NOC).

As will be recognized by those skilled in the art, the innovativeconcepts described in the present application can be modified and variedover a wide range of applications. Accordingly, the scope of patentedsubject matter should not be limited to any of the specific exemplaryteachings discussed, but is instead defined by the following claims.

1.-20. (canceled)
 21. A platform for providing a plurality oftelecommunications services to a subscriber, said platform comprising: adatabase server, the database server storing a subscriber profile, thesubscriber profile comprising provisioning information and call controlinformation; an application server coupled to said database server, saidapplication server providing at least a first telecommunications servicefor which the subscriber is provisioned, the first telecommunicationsservice accessing the call control information, the call controlinformation determining a call flow for the subscriber to complete acall using the first telecommunications service and being separate fromprovisioning; a network interface on a switch in a public telephonenetwork; and a Softswitch, coupled to said network interface and saidapplication server, integrating and managing the plurality oftelecommunications services and further using a voice-activatedinterface to enable the subscriber to access at least one of theplurality of telecommunications services, wherein said voice-activatedinterface is available to the subscriber any time throughout duration ofa call.